package com.rlj.messagequeue.mqserver.core;

import java.io.Serializable;

/**
 * Created with IntelliJ IDEA.
 * Description: 消息的基本属性
 * User: DELL
 * Date: 2024-02-20
 * Time: 23:50
 */
public class BasicProperties implements Serializable {
    // 消息的唯一身份标识，保证唯一性，这里使用 UUID
    private String messageId;
    // 和 bindingKey 做匹配
    // 当交换机类型是 DIRECT 时，routingKey = 要转发的队列名
    // 当交换机类型是 FANOUT 时，routingKey 不使用
    // 当交换机类型是 TOPIC 时，routingKey 需要和对应队列的 bindingKey 匹配
    private String routingKey;
    // 是否需要持久化: 1 -> 不持久化  2 -> 持久化
    private int deliverMode = 1;

    public String getMessageId() {
        return messageId;
    }

    public void setMessageId(String messageId) {
        this.messageId = messageId;
    }

    public String getRoutingKey() {
        return routingKey;
    }

    public void setRoutingKey(String routingKey) {
        this.routingKey = routingKey;
    }

    public int getDeliverMode() {
        return deliverMode;
    }

    public void setDeliverMode(int deliverMode) {
        this.deliverMode = deliverMode;
    }
}
